概述

MongoDB 发布团队对所有软件包进行数字签名, 以便进行认证特定的 MongoDB 软件包是有一个有效的并且未被改变 MongoDB 版本. 在安装 MongoDB 之前, 你应该使用 PGP 签名或者 SHA-256 校验和来验证软件包.

PGP 签名通过检查文件的真实性和完整性来提供最好的保证, 防止篡改.

加密校验和仅校验文件的完整性, 以防止网络传输错误.

过程

使用 PGP/GPG

MongoDB 使用不同的 PGP 密钥对每个版本的分支进行签名. 自 MongoDB 2.2 版本以来, 每个版本的分支的公钥文件可以从密钥服务器下载 .asc 和 .pub 格式的文件.

1. 下载 MongoDB 安装文件.

根据你的环境从 https://www.mongodb.org/downl... 下载二进制文件.

例如, 要通过 shell 下载 OS X 的 3.0.5 版本, 请输入以下命令:

curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz

2. 下载公共签名文件.

curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz.sig

3. 下载然后导入密钥文件.

如果你尚未下载并导入 MongoDB 3.0 公钥, 请输入以下命令:

curl -LO https://www.mongodb.org/static/pgp/server-3.0.asc
gpg --import server-3.0.asc

你应该会接收到这个消息:

gpg: key 24F3C978: public key "MongoDB 3.0 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

4. 验证 MongoDB 安装文件

输入这个命令:

gpg --verify mongodb-osx-x86_64-3.0.5.tgz.sig mongodb-osx-x86_64-3.0.5.tgz

你应该会接收到这个消息:

gpg: Signature made Mon 27 Jul 2015 07:51:53 PM EDT using RSA key ID 24F3C978
gpg: Good signature from "MongoDB 3.0 Release Signing Key <packaging@mongodb.com>" [unknown]

如果你收到了以下消息, 请确认你导入了正确的公钥:

gpg: Signature made Mon 27 Jul 2015 07:51:53 PM EDT using RSA key ID 24F3C978
gpg: Can't check signature: public key not found

如果程序包已经正确的签名, 但是你不信任当前本地 trustdb 的签名, 则 gpg 将返回以下消息:

gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 89AE C6ED 5423 0831 793F  1384 BE0E B6AA 24F3 C978

SHA-256

1. 下载 MongoDB 安装文件.

根据你的环境从 https://www.mongodb.org/downl... 下载二进制文件.

例如, 要通过 shell 下载 OS X 的 3.0.5 版本, 请输入以下命令:

curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz

2. 下载 SHA256 文件

curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz.sha256

3. 使用 SHA256 校验和来验证 MongoDB 包文件.

计算软件包的校验和:

shasum -c mongodb-osx-x86_64-3.0.5.tgz.sha256

如果校验和与下载的软件包相匹配, 则应该放回以下内容:

mongodb-osx-x86_64-3.0.5.tgz: OK

下一章: https://segmentfault.com/a/11...
本文地址: https://docs.mongodb.com/manu...


魔王卷子
940 声望33 粉丝

PHP程序员,专注于后端!